/**
 * Filename: YNHWSingle.java
 * @author  Firefly
 * @contact postfirefly@163.com
 * @time    2016/3/10 21:34
 */
package com.github.postsanf.yinian.constants;

import com.github.postsanf.yinian.bean.BaseBean;
import com.github.postsanf.yinian.bean.YNImageHW;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 忆年动态图片单例
 */
public class YNHWSingle extends BaseBean
{
    //单例模式实例
    private static YNHWSingle 		instance = null;
    private Map<Integer, List<YNImageHW>>   mIMGHWList;
    //synchronized 用于线程安全
    public synchronized static YNHWSingle getInstance(){
        if(instance == null){
            instance = new YNHWSingle();
        }
        return instance;
    }

    public YNHWSingle(){
        mIMGHWList = new HashMap<>();

        // 模式一
        List<YNImageHW> mode1 = new ArrayList<>();
        mode1.add(new YNImageHW(72,72));
        mIMGHWList.put(1,mode1);

        // 模式二
        List<YNImageHW> mode2 = new ArrayList<>();
        mode2.add(new YNImageHW(36, 36));
        mode2.add(new YNImageHW(36, 36));
        mIMGHWList.put(2,mode2);

        // 模式三
        List<YNImageHW> mode3 = new ArrayList<>();
        mode3.add(new YNImageHW(36, 36));
        mode3.add(new YNImageHW(36, 36));
        mode3.add(new YNImageHW(48,72));
        mIMGHWList.put(3, mode3);

        // 模式四
        List<YNImageHW> mode4 = new ArrayList<>();
        mode4.add(new YNImageHW(48, 72));
        mode4.add(new YNImageHW(18, 24));
        mode4.add(new YNImageHW(36, 48));//36.3
        mode4.add(new YNImageHW(18,24));
        mIMGHWList.put(4, mode4);

        // 模式五
        List<YNImageHW> mode5 = new ArrayList<>();
        mode5.add(new YNImageHW(24, 30));
        mode5.add(new YNImageHW(42, 42));
        mode5.add(new YNImageHW(36,30));//35.7
        mode5.add(new YNImageHW(42, 42));
        mode5.add(new YNImageHW(24,30));
        mIMGHWList.put(5, mode5);

        // 模式六
        List<YNImageHW> mode6 = new ArrayList<>();
        mode6.add(new YNImageHW(28, 30));
        mode6.add(new YNImageHW(28, 42));
        mode6.add(new YNImageHW(28,42));
        mode6.add(new YNImageHW(28, 30));
        mode6.add(new YNImageHW(28, 30));
        mode6.add(new YNImageHW(28,42));
        mIMGHWList.put(6, mode6);

        // 模式七
        List<YNImageHW> mode7 = new ArrayList<>();
        mode7.add(new YNImageHW(28, 36));
        mode7.add(new YNImageHW(28, 36));
        mode7.add(new YNImageHW(28, 24));
        mode7.add(new YNImageHW(28, 24));
        mode7.add(new YNImageHW(28, 24));
        mode7.add(new YNImageHW(28, 36));
        mode7.add(new YNImageHW(28, 36));
        mIMGHWList.put(7, mode7);

        // 模式八
        List<YNImageHW> mode8 = new ArrayList<>();
        mode8.add(new YNImageHW(42, 42));
        mode8.add(new YNImageHW(28, 30));
        mode8.add(new YNImageHW(28, 30));
        mode8.add(new YNImageHW(21, 21));
        mode8.add(new YNImageHW(21, 21));
        mode8.add(new YNImageHW(28, 30));
        mode8.add(new YNImageHW(21, 21));
        mode8.add(new YNImageHW(21, 21));
        mIMGHWList.put(8, mode8);
    }

    public Map<Integer, List<YNImageHW>> getIMGHWList() {
        return mIMGHWList;
    }
}
